Mobile Device Style Abstraction

ABSTRACT

Style abstraction techniques are described for use in customizing elements included in a user interface. In an implementation, a structural attribute is obtained that defines a structural component of an element that is to be included in a user interface. A style attribute is also obtained that is operable to define a visual aspect of the structural component. The user interface is generated by combining the style attribute and the structural attribute at run-time to form the element. The element, that includes the visual aspect applied to the structural component, is presented on a display device of a mobile device.

RELATED APPLICATIONS

This application claims priority under 35 U.S.C. Section 119(e) to U.S. Provisional Patent Application Nos. 61/107,945, 61/107,935, and 61/107,921, each of which was filed on Oct. 23, 2008, the entire disclosures of which are hereby incorporated by reference in their entirety.

BACKGROUND

The public acceptance of a mobile device may depend on the user experience (UX) for the mobile device. Thus, a user experience that is visually pleasing and easy to use may result in wide-spread use of the mobile device. In contrast, a mobile device that has a poor user experience may encounter limited acceptance.

One aspect of the user experience is a user interface (UI) implemented by the mobile device. The user interface may include elements that are presented on a display device for the mobile device. For example, a folder icon may be presented as part of a user interface on a smart phone's touch screen.

SUMMARY

Style abstraction techniques are described for use in customizing elements included in a user interface. In an implementation, a structural attribute is obtained that defines a structural component of an element that is to be included in a user interface. A style attribute is also obtained that is operable to define a visual aspect of the structural component. The user interface is generated by combining the style attribute and the structural attribute at run-time to form the element. The element, that includes the visual aspect applied to the structural component, is presented on a display device of a mobile device.

In an implementation, one or more tangible computer-readable media comprise instructions that are executable to combine, at run-time, a structural attribute that defines an element available for presentation on a mobile device with a style attribute. The style attribute is operable to define a visual aspect of the element and is independent of the structural attribute before run-time. The instructions are further executable to present the element, with the visual aspect applied to the element, in a user interface on a display device of the mobile device.

In an implementation, a mobile device comprises a display device and a user interface module. The user interface module is operable to generate an element from a structural attribute that defines a structural component of the element and one or more style attributes. The style attributes are separate from the structural attribute and each define a visual aspect of the structural component when presented on a display device that is operable to present the user interface that includes the element.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items.

FIG. 1 is an illustration of an environment in an example implementation that is operable to implement style abstraction techniques for a mobile device.

FIG. 2 is an illustration of a system in an example implementation showing implementation of a user interface module of FIG. 1 to customize elements.

FIG. 3 is an illustration of a system in an example implementation showing implementation of the user interface module of FIG. 1 to customize elements in accordance with a theme.

FIG. 4 is a flow diagram depicting a procedure in an example implementation that is used to customize elements in a user interface.

FIG. 5 is a flow diagram depicting a procedure in an example implementation that is used to generate revenue in conjunction with providing a theme.

DETAILED DESCRIPTION

Overview

A user interface for a mobile device may influence the user experience with the device. A user interface that is visually pleasing and permits a user to access functions provided by the mobile device may result in wide-spread acceptance of the mobile device. The user interface may include elements that are presented on a display device integrated with the mobile device. The elements typically are selected by a provider of a mobile device and may be presented in order to allow the user to access functions supported by the mobile device, e.g., an icon for a shortcut. For example, a user selecting a phone icon may trigger a smart phone to place a call.

User interface element customization techniques are described. Customization may be implemented by abstracting style attributes that define visual aspects of an element from structural attributes that define structural components of the element. By abstracting structural and style attributes from each other, the element may be customized in an independent fashion. For example, an icon, included in the user interface, may be customized to a color selected by a user.

In an implementation, a user interface module is configured to combine structural and visual attributes to form an element. In this way, the user interface module may use the structural attribute and the visual attribute to define a structural component of the element and a visual aspect of the element respectively. Thus, for a phone icon, the structural component may be the shape of the icon while the color may be the visual aspect. The user interface module may combine the structural and visual attributes at run-time so that the element's visual aspects may be changed without impacting the underlying structural components.

In some implementations, a theme may be used to set an element's structural components and/or visual aspects. For example, the user interface module may use a theme so that each element in the user interface implement the colors of the user's alma matter. A variety of other examples are also contemplated.

In the following discussion, an example environment and systems are first described that are operable to perform one or more techniques related to abstracting styles for a user interface of a mobile device. Example procedures are then described that may be implemented using the example environment as well as other environments. Accordingly, implementation of the procedures is not limited to the environment and the environment is not limited to implementation of the procedures.

Example Environment

FIG. 1 is an illustration of an environment 100 in an example implementation that is operable to employ style abstraction techniques for a mobile device. The illustrated environment 100 includes the mobile device 102 and a theme source 104 that are communicatively coupled via a network 106. As also illustrated, the network 106 is associated with a transmitter and/or receiver (e.g., a transceiver 108) that is operable to wirelessly communicate with the mobile device 102. For example, the mobile device 102 may communicate over a cellular telephone network with the transceiver while the transceiver communicates via the Internet with the theme source. The illustrated entities may be representative of multiple entities, e.g., multiple mobile devices may be included in the environment 100.

The mobile device 102 is representative of functionality to provide a user experience (UX) that includes a user interface (UI) 110. As illustrated, the mobile device 102 is a smart phone that has one or more processors (one is illustrated) 112, memory 114, and a display device 116, e.g., a touch screen. Although a smart phone is discussed herein, the mobile device 102 may comprise a wide variety of devices, such as personal digital assistants, cellular telephones, digital audio devices, portable audio/visual device, portable video game devices, and so forth. The mobile device 102 may provide a wide variety of additional functions, e.g., telephone service, Internet access, and so on.

As further illustrated in FIG. 1, a user interface module (UI module) 118 is included in the mobile device 102. The user interface module 118 is representative of functionality to generate the user interface 110 for presentation on the display device 116. While the user interface module 118 is illustrated as executing on the processor 112, the user interface module 118 may be stored in the memory 114 until called on. In some implementations, the user interface module 118 is integrated as part of an operating system (OS) that is usable to control operation of the mobile device 102. The functions provided by the user interface module 116 may be performed by sub-modules, performed by a combination of modules, additional modules, and so forth.

The user interface 110 may include one or more elements that are presented on the display device 116. Example elements include, but are not limited to, an icon, a background, an overlay, a shortcut, a tool, a gadget, an image, and so on. The elements may be associated with a particular functionality that may be triggered when the element is selected. For example, selection of a phone icon, (e.g., by touching the display device 116) may cause the mobile device 102 to initiate a telephone call. In some instances, the user interface module 118 may obtain themes from the theme source 104 for use in customizing the user interface 110.

The theme source 104 is representative of functionality to provide themes 120 that are useable by the user interface module 118 to customize elements in the user interface 110. In other examples, the theme source 104 may provide additional elements and so forth. The themes 120 may be stored in memory 122. Themes 120 may include one or more structural attributes and/or style attributes that define an element's appearance in the user interface 110. For example, a structural attribute may define an icon's shape while a visual attribute may define a color that is applied to the icon's shape. A theme 120 may be used by the user interface module 118 to coordinate the appearance of each element in the user interface 110.

In some implementations, themes 120 may be associated with an entity, such as a sports team or organization, a musical group or organization, a media presentation (e.g., a television show), a fraternal organization, a profession (e.g., doctors, lawyers, teachers), a hobby (e.g., woodworking), and so forth. In this way, the element's structural components and/or visual aspects may be coordinated to the entity. For example, a user interface may include the icons and a background may implement the colors used by the PHILADELPHIA EAGLES (Philadelphia Eagles, Philadelphia, Pa.).

Themes 120 may be customized for the mobile device 102, e.g., to suit a user's personal tastes. For example, the theme source 104 may maintain a web site that permits users to submit images, select icons, and so on to personalize the user interface. The web site may be accessed using the mobile device 102, a different device, e.g., the user's home computer, a retail kiosk having access to the theme source 104, and so on. Themes may be downloaded to the mobile device 102, such as by wirelessly communicating the data that forms the theme 120 over a cellular network.

The theme source 104 may be financially supported by various revenue models. Example, revenue models included, but are not limited to, an advertising model, a subscription model, a per-use fee model, and so forth. For example, the theme source 104 may charge an account that is associated with the mobile device 102 for each theme obtained (e.g., downloaded) from the theme source 104.

In addition to providing themes, the theme source 104 may perform other functions. Example functions include, but are not limited to, providing one or more of mobile telephone service, Internet access, audio service (e.g., music files), positioning information (e.g., global positioning service), and so on. For example, a wireless telephone service provider may permit users (e.g., customers or subscribers) to obtain themes to customize the user experience for an associated smart phone. In addition, the wireless telephone service provider may also specify what communication standards are to be used by the mobile device 102, e.g., what communication standard is to be use when a theme 120 is communicated.

The theme source 104 and the mobile device 102 may be communicatively coupled via the network 106. Although the network 106 is illustrated as including the Internet, the network 106 may assume a wide variety of configurations. For example, the network 106 may include a wide area network (WAN), a local area network (LAN), a wireless network, a public telephone network, an intranet, and so on. Although a single network is shown, the network 106 may be configured to include multiple networks. A wide variety of other examples are also contemplated.

Generally, any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module,” “functionality,” “service,” and “logic” as used herein generally represent software, firmware, hardware, or a combination of software, firmware, or hardware. In the case of a software implementation, the module, functionality, service, or logic represents program code that performs specified tasks when executed on a processor (e.g., CPU or CPUs). The program code can be stored in one or more computer-readable memory devices (e.g., one or more tangible computer-readable media), and so on. The structures, functions, approaches, and techniques described herein may be implemented on a variety of commercial computing platforms having a variety of processors.

FIG. 2 depicts a system 200 in an example implementation in which the user interface module 118 of FIG. 1 is illustrated in greater detail. As illustrated, the user interface module 118 includes a structural module 202 and a style module 204.

The structural module 202 is representative of functionality to manage structural attributes that define components of an element. A car 206 and a phone 208 are illustrated. In the illustrated embodiment, a car element 210, a globe element 212, and a phone element 214 are referenced. For example, a structural component of a background element may be an image (e.g., a sailing ship 216) that forms a background. In another example, the structural component is a shape of an icon, e.g., phone element 214.

By configuring the user interface module 118 to manage structural components independent of visual aspects of the element, the user interface module 118 may permit customization of an element's visual appearance without impacting the element's underlying structural components. In embodiments, the structural module 202 is configured to permit a user to manage the element's structure (e.g., add, change, delete, and so on) independent of the element's visual aspects.

The style module 204 is representative of functionality to manage style attributes that define one or more visual aspects of an element. Example visual aspects include, but are not limited to an effect, a color, a fill type (e.g., shading, hashing, and so on), an audio clip presented with an element, animation, and so forth. A color attribute 218, a shading attribute 220, and a shadow attribute 222 are illustrated. In one or more embodiments, a visual aspect may be applied to a structural component. For example, a blue fill color may be applied to a magnifying glass shape. In another example, the style attribute may be a line color for the magnifying glass' outline. Thus, the user interface module 118 may permit a user to customize how the elements are to appear when presented on the display device 116.

By configuring the user interface module 118 in this manner, the visual aspects of the element may be abstracted from the element's structural components. In addition, the user interface module 118 may functionally provide an abstraction layer between an element's structural components and visual aspects. This may permit the user interface module 118 to customize visual aspects of the element without changing the element itself.

In one or more embodiments, the user interface module 118 combines the structural and style attributes for an element at run-time to generate the element. For example, the user interface module 118 may combine the structural and style attributes at boot-up when data forming the user interface (that includes the element) is included in the operating system's start-up path. A variety of other examples are also contemplated.

In additional embodiments, the style module 204 may be configured so that each element in the user interface 110 that implements a particular structural component uses a common style attribute for the particular structural component. For example, the style module 204 may be used to set a shadow for each element in the user interface 110. In another example, the style attribute module may be used to set a particular outline color for each element in the user interface 110. Thus, each element's visual aspects may be changed, updated, or altered on a global basis.

In a corresponding fashion, the user interface module 118 may be used to add or change elements while applying a common visual appearance. For example, a theme may be used to set each icon in the user interface 110 to colors implemented by the user's alma matter. The use of themes to set structural and/or visual aspects for elements is discussed further in regard to FIG. 3.

FIG. 3 illustrates a system 300 in an example implementation in which a theme is used to set style attributes for each element in the user interface 110. The theme may also be used to set visual attributes for a plurality of elements, e.g., each element in the user interface 110. For the purposes of illustration only, the theme is illustrated as providing a batter element 304, a phone element 306, a baseball element 308 (e.g., an icon), a glove element 310 (e.g., an icon), and so on. The element's appearance may be defined by the structural attributes 312 (batter 314 and glove 316 are illustrated) and visual attributes 318 (color 320, shading 322, and shadow 324 are illustrated) that may be combined at run-time to set the element's appearance. For example, a theme for a university may be used to set each element's shadow color to a color used by the university. In the foregoing example, the user interface module 118, implementing the theme for the university, may continue to use elements selected by a user even though the university's color scheme is applied to each element. In this way, elements may be reused to customize the user experience.

The user interface module 118 may obtain themes, structural attributes, and/or visual attributes from a variety of sources. For example, the memory 114 may be used to store a palette of visual and/or structural attributes from which a user may select. Although the palette may be maintained by the user interface module 118, in other instances multiple applications may use the palette. The user interface module 118 may also obtain (e.g., download) themes, structural attributes, and/or visual attributes from the theme source 104.

In some embodiments, the user interface module 118 may be configured to change visual and/or structural attributes upon an occurrence of an event or at a scheduled interval. For example, the user interface 110 may be configured to change a color implemented for a background based on whether a text message has been received. In another example, the user interface module 118 may change the color implemented by a background based on the amount of airtime the mobile device has consumed for a month. The user interface module 118 also be configured to change visual and/or structural attributes based on a current day of the week. A variety of other examples are also contemplated.

Example Procedures

The following discussion describes procedures that may be implemented utilizing the previously described systems, devices, techniques, and approaches. Aspects of each of the procedures may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. In portions of the following discussion, reference will be made to the environment 100 of FIG. 1 and the systems 200 and 300 described, respectively, in FIGS. 2 and 3.

FIG. 4 depicts a procedure 400 in an example implementation in which style abstraction techniques are used to customize elements in a user interface for a mobile device. Selection of style attributes and/or structural attributes are accepted (block 402). Style attributes and/or structural attributes may be manually selected (block 404). For instance, the user interface module 118 may be configured to accept manual selection by a user of various style attributes that define how structural components of one or more element are to appear on the display device 116. In other instances, a theme may be used to set structural attributes and/or style attributes (block 406). For example, a user may select a theme that designates one or more style attributes or structural attributes that are to be used by the interface module 118.

The structural attributes are obtained (block 408). The style attributes are also obtained (block 410). For instance, the style and structural attributes may be obtained at run-time for each element in the user interface. The style attributes may be stored independently of the structural attributes so that visual aspects (defined by the style attributes) may be changed without impacting the element's structural components. The reverse may also be performed, e.g., structural components may be changed, added, and so forth without impacting visual aspects that are to be applied to the structural components.

The structural attributes and the style attributes are combined (block 412) Combining the structural and style attributes may performed at run-time. The user interface is generated (block 414). For example, the structural and style attributes may be combined as part of generating the user interface 110 for presentation on the display device 116.

The user interface, including the elements, is presented (block 416). For instance, the user interface may be presented on a display device 116 for a mobile device 102.

FIG. 5 illustrates a procedure 500 in an example implementation in which revenue generation techniques are implemented in conjunction with providing a theme. The procedure may implement one or more revenue generation models, e.g., an advertising model, a fee per-use model, or a subscription model. The procedure 500 may be used in conjunction with the procedure 400 described with respect to FIG. 4 above. A request for a theme is received (block 502). For example, a user may manually select a theme for downloading to the user's smart phone.

In one or more embodiments, a check is made to determine whether the request is associated with an account that has subscribed to receive themes (block 504). The check may be performed when a subscription revenue generation model is used to financially support providing themes. For example, a telephone service provider may check to determine whether a user that requested the theme has subscribed to a theme service in which the user is charged a reoccurring fee for access to the theme service.

The theme is obtained (block 506). When a subscription revenue model is implemented (e.g., via check for an account (block 504)), obtaining the theme may be conditioned on verification that the account is valid. When a valid account is associated with the request, the theme may be made available for communication to the user, e.g., downloaded to the mobile device.

In an advertising model, an advertisement may also be obtained for presentation on the mobile device 102. For example, an advertisement may be obtained from memory 122 for presentation on the display device 116 when the theme is received. In other instances, the advertisement may be provided to a different device, e.g., a user's home computer, sent via physical mail, provided at a different time, and so on.

The data forming the theme is communicated (block 508). For example, the data that forms the theme may be downloaded by the mobile device 102 from the theme source 104.

Revenue is generated (block 510). In one or more embodiments, a fee may be charged for communicating the theme (block 512) such as when a per-use revenue generation model is used. For example, in a per-use model the user who downloaded the theme may be charged a fee. In an advertising model, the advertisement may be communicated to the mobile device (block 514) and the advertiser that sponsored the theme may be charged a fee (block 512). In some examples, the user interface module may be configured to communicate information associated with a user account that indicates how the advertisement is to be provided, e.g., to the user's home computer, via physical mail, and so on.

Accordingly, the advertisement is presented (block 516) when an advertising model is implemented. For example, the advertisement may be output via the display device 116. In other examples, the advertisement may be communicated and/or presented on a different device than the mobile device. For example, the advertisement may be sent to a user's home computer, sent via a physical message and so forth. A variety of other examples are contemplated without departing from the spirit and scope thereof.

CONCLUSION

Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed subject matter. 

1. A method comprising: obtaining a structural attribute that defines a structural component of an element that is to be included in a user interface and a style attribute that is operable to define a visual aspect of the structural component; and generating the element by combining the structural attribute with the style attribute at run-time to form the element, for presentation on a display device of a mobile device, that includes the visual aspect applied to the structural component.
 2. A method as described in claim 1, wherein the element comprises at least one of: an image, an icon, a background, an overlay, or a shortcut.
 3. A method as described in claim 1, wherein the style attribute is included in a theme that is obtained from a source for a fee, wherein the source is configured to operate in conformance with a wireless communication standard specified by the source and implemented by the mobile device.
 4. A method as described in claim 1, further comprising accepting user selection of the style attribute.
 5. A method as described in claim 1, wherein the style attribute is applied to each element in the user interface that has the structural attribute.
 6. A method as described in claim 1, wherein the style attribute and the structural attribute are independent prior to run-time.
 7. A method as described in claim 1, wherein the visual aspect comprises at least one of: an effect; a color; a fill type; an audio clip presented with the element; or an animation.
 8. A method as described in claim 1, wherein the style attribute is included in a theme that is operable to control each element's appearance in the user interface.
 9. One or more tangible computer-readable media comprising instructions that are executable to: combine, at run-time, a structural attribute that defines an element available for presentation on a mobile device with a style attribute that is operable to define a visual aspect of the element, the style attribute being independent of the structural attribute before run-time; and present the element, in a user interface on a display of the mobile device, with the visual aspect applied to the element.
 10. One or more tangible computer-readable media as described in claim 9, wherein the instructions are further executable to maintain a plurality of style attributes in memory independent of the element that is operable to implement said style attributes.
 11. One or more tangible computer-readable media as described in claim 10, wherein the instructions are further executable to accept user selection of the style attribute.
 12. One or more tangible computer-readable media as described in claim 10, wherein the instructions are further executable to receive a theme that set each style attribute for the user interface.
 13. One or more tangible computer-readable media as described in claim 9, wherein the visual aspect comprises at least one of: an effect; a color; a fill type; an audio clip presented with the element; or an animation.
 14. One or more tangible computer-readable media as described in claim 9, wherein the structural attribute defines how the visual aspect is to be applied to the element.
 15. A mobile device comprising: a display device to present a user interface that includes an element; and a user interface module to generate the element from a structural attribute that defines a structural component of the element and one or more style attributes, which are separate from the structural attribute, that each define a visual aspect of the structural component when presented on the display device, the user interface module being configured to identify a user account associated with the mobile device.
 16. A mobile device as described in claim 15, wherein the user interface module is further configured to accept selection of said style attributes for use at run-time to set the element's appearance separate from the structural component of the element.
 17. A mobile device as described in claim 15, wherein the user interface module is configured to accept selection of a theme that sets each said style attribute.
 18. A mobile device as described in claim 17, wherein the mobile device is further configured to identify the user account, to a theme source, that is to be charged a fee to obtain the theme.
 19. A mobile device as described in claim 15, wherein the element comprises one or more of: a photograph, an icon, a background, a shortcut, or an overlay.
 20. A mobile device as described in claim 15, wherein the user interface module is configured for integration in a mobile operating system that is usable to control operation of the mobile device. 